{% load static from staticfiles %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="">
    <title>Deep Video Analytics</title>
    <link href={% static 'private_static/insp_seed/css/bootstrap.min.css' %} rel="stylesheet">
    <link href={% static 'private_static/insp_seed/css/animate.css' %} rel="stylesheet">
    <link href={% static 'private_static/insp_seed/font-awesome/css/font-awesome.min.css' %} rel="stylesheet">
    <link href={% static 'private_static/insp_seed/fontcustom/fontcustom.css' %} rel="stylesheet">
    <link href={% static 'private_static/insp_seed/css/style.css' %} rel="stylesheet">
    <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/styles/railscasts.min.css">
    <script src="//cdnjs.cloudflare.com/ajax/libs/highlight.js/9.9.0/highlight.min.js"></script>

    <style>
        .landing-page section p {
            color: #171111 !important;
            font-size: 14px !important;
        }
        .video-container {
        position: relative;
        padding-bottom: 56.25%;
        padding-top: 30px; height: 0; overflow: hidden;
        }

        .video-container iframe,
        .video-container object,
        .video-container embed {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        }
    </style>
</head>
<body id="page-top" class="landing-page" style="background-color:white">
<div class="navbar-wrapper">
        <nav class="navbar navbar-scroll navbar-default navbar-fixed-top" role="navigation">
            <div class="container">
                <div class="navbar-header page-scroll">
                    <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
                        <span class="sr-only">Toggle navigation</span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                        <span class="icon-bar"></span>
                    </button>
                    <a class="navbar-brand" href="/">Deep Video Analytics</a>
                </div>
                <div id="navbar" class="navbar-collapse collapse">
                    <ul class="nav navbar-nav navbar-right">
                        <li><a class="page-scroll" href="#apps">Apps</a></li>
                        <li><a class="page-scroll" href="#installation">Installation</a></li>
                        <li><a class="page-scroll" href="#contact">Contact</a></li>
                        <li><a href="http://www.akshaybhat.com" target="_blank">By Akshay Bhat</a></li>
                    </ul>
                </div>
            </div>
        </nav>
</div>

<section class="container" style="margin-top:80px">

<div class="row">
    <div class="col-lg-6 text-center">
        <h1 class="hidden-xs m-t" style="margin-top:30px">Data-centric platform for Computer Vision</h1>
        <h3 class="hidden-xs m-t" style="margin-bottom: 40px;line-height: 1.5;">
            Deep Video Analytics aims to revolutionize visual data analysis by providing a comprehensive platform for storage, analysis & sharing.
        </h3>
        <h3 class="hidden-xs ">Relational data : Postgres, MySQL, SQLite</h3>
        <h3  class="hidden-xs ">::</h3>
        <h3  class="hidden-xs " style="margin-top:0px">Text, HTML : Lucene/Solr, Elasticsearch</h3>
        <h3  class="hidden-xs ">::</h3>
        <h3  class="hidden-xs " style="margin-top:0px">Videos & Images : <span style="font-weight:bold">Deep Video Analytics</span></h3>

        <h2 class="visible-xs m-t" style="margin-top:15px;">Data-centric platform for Computer Vision</h2>
        <h4 class="visible-xs" style="margin-bottom: 20px;line-height: 1.5;margin-top: 15px;">
            Deep Video Analytics aims to revolutionize visual data analysis by providing a comprehensive platform for storage, analysis & sharing.
        </h4>
    </div>
        <div class="col-lg-6 text-center">
            <div class="video-container">
                <iframe width="853" height="480" src="https://www.youtube.com/embed/yo_lcxG8H0w?rel=0&amp;controls=0&amp;showinfo=0" frameborder="0" allowfullscreen></iframe>
            </div>
        </div>
</div>
<div class="row">
    <div class="col-lg-12 text-center">
        <div class="alert alert-info" style="margin-bottom:15px;margin-top:20px">
            <div>
                <iframe src="https://ghbtns.com/github-btn.html?user=akshayubhat&repo=deepvideoanalytics&type=star&count=true&size=large" frameborder="0" scrolling="0" width="160px" height="30px"></iframe>
                <iframe src="https://ghbtns.com/github-btn.html?user=akshayubhat&repo=deepvideoanalytics&type=watch&count=true&size=large&v=2" frameborder="0" scrolling="0" width="160px" height="30px"></iframe>
                <iframe src="https://ghbtns.com/github-btn.html?user=akshayubhat&repo=deepvideoanalytics&type=fork&count=true&size=large" frameborder="0" scrolling="0" width="158px" height="30px"></iframe>
            </div>
              <div id="revue-embed" class="row" style="margin-top:15px">
              <form action="https://www.getrevue.co/profile/DeepVideoAnalytics/add_subscriber" method="post" id="revue-form" name="revue-form"  target="_blank">
              <div class="col-md-offset-2 col-md-4"><div class="revue-form-group form-group">
                  <input class="revue-form-field form-control" required="required" placeholder="Your email address..." type="email" name="member[email]" id="member_email">
              </div></div>
              <div class="col-md-4"><div class="revue-form-group  form-group">
                  <input class="revue-form-field form-control" placeholder="Name (Optional)" type="text" name="member[first_name]" id="member_first_name">
              </div></div>
              <div class="revue-form-actions col-lg-12  form-group text-center" style="margin-top:5px">
                <a href="/app" style="margin-right:6px;margin-top:5px" class="btn btn-success">View Deep Video Analytics demo app</a>
                <a class="btn btn-success" style="margin-top:5px" href="http://github.com/akshayubhat/deepvideoanalytics"><i class="fa fa-github"></i> Visit github repo</a>
                <input type="submit" style="margin-top:5px" class="btn btn-success" value="Subscribe for updates (every ~15 days)" name="member[subscribe]" id="member_submit">
              </div>
              </form>
            </div>
        </div>
    </div>
</div>
</section>
<section id="features" class="container services" style="padding-top:15px">
    <div class="row">
        <div class="col-sm-3 text-center">
            <i class="fa fa-video-camera features-icon" style="font-size:36px"></i>
            <h2>Upload</h2>
            <p>Upload videos or set of images. Download Youtube urls automatically.
                Browse & annotate uploaded videos. Ability to import pre-indexed datasets.</p>
        </div>
        <div class="col-sm-3 text-center">
            <i class="fa fa-forward features-icon" style="font-size:36px"></i>
            <h2>Process</h2>
            <p>Perform scene detection, frame extraction on videos.
                Annotate frames, detections with bounding boxes, labels and metadata.</p>
        </div>
        <div class="col-sm-3 text-center">
            <i class="fa fa-search features-icon" style="font-size:36px"></i>
            <h2>Search</h2>
            <p>Extracted objects, along with entire frames and crops, are indexed using deep features.
                Feature vectors are used for visual search retrieval.</p>
        </div>
        <div class="col-sm-3 text-center">
            <i class="fa fa-docker features-icon" style="font-size:36px"></i>
            <h2>Deploy</h2>
            <p>Deploy on variety of machines with/without GPUs, local & cloud.
                Docker compose enables automated setup of Postgres & RabbitMQ. </p>
        </div>
    </div>
</section>
<section  class="container features">
    <div class="row">
        <div class="col-lg-12 text-center">
            <div class="navy-line"></div>
            <h1 style="margin-bottom:15px">Features & Models</h1>
            <h4>We take significant efforts to ensure that following models (code+weights included) work without having to write any code.</h4>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6">
            <h2>Features</h2>
            <ul>
                <li><p>Visual Search as a primary interface</p></li>
                <li><p>Upload videos, image datasets.</p></li>
                <li><p>Ingest from various sources such as AWS S3, Youtube.</p></li>
                <li><p>Pre-trained recognition, detection & OCR models.</p></li>
                <li><p>Train custom detector models</p></li>
                <li><p>User Interface for visualization, annotation & monitoring.</p></li>
                <li><p>REST API to simplify development of new front-ends applications.</p></li>
                <li><p>Deep Video Analytics Processing and Query Language for specifying tasks</p></li>
                <li><p>Videos, frames, indexes, etc. stored in media directory, served through nginx.</p></li>
                <li><p>Perform full-text search on text metadata and names.</p></li>
                <li><p>Configure by specifying environment variables.</p></li>
                <li><p>Manage GPU memory/utilization by dynamically launching & shutting down workers.</p></li>
            </ul>
        </div>
        <div class="col-md-6 ">
            <h2>Models</h2>
            <ul>
                <li><p>Indexing using Google inception V3 trained on Imagenet</p></li>
                <li><p>Multiple object detectors from TF object detection API</p></li>
                <li><p><a href="https://github.com/davidsandberg/facenet" target="_blank">Face detection/alignment/recognition using MTCNN and Facenet</a></p></li>
                <li><p>Open Images multi-label inception v3 for text tags</p></li>
                <li><p>Deep OCR using CTPN & CRNN</p></li>
            </ul>
            <h2> Import external datasets using VDN</h2>
            <ul>
                <li><p>MSCOCO</p></li>
                <li><p>Labeled Faces in the Wild</p></li>
            </ul>
            <h2> Train new models</h2>
            <ul>
                <li><p>Fine-tune YOLO v2 detector using custom of set of regions.</p></li>
                <li><p>Start using trained detector instantly by launching workers that process queue
                    assigned to the new custom detector.</p></li>
            </ul>
        </div>
    </div>
</section>
<section class="container features">
    <div class="row">
        <div class="navy-line"></div>
        <div class="col-lg-12 text-center">
            <h1>Presentation</h1>
            <p>For a quick overview of design choices and vision behind this project we <span style="font-weight: bold">strongly</span> recommend going through following presentation. Also <a href="https://github.com/AKSHAYUBHAT/DeepVideoAnalytics/blob/master/readme.pdf">stored as readme.pdf</a> inside the repo.</p>
            <div class="hidden-sm hidden-xs"><iframe style="margin-top:25px" src="https://docs.google.com/presentation/d/1nweK60ywx1h-MMg75oo0E5jwBQtrFIVK6hPgMuB985U/embed?start=false&loop=false&delayms=3000" frameborder="0" width="960" height="569" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></div>
            <div class="visible-sm"><iframe style="margin-top:20px" src="https://docs.google.com/presentation/d/1nweK60ywx1h-MMg75oo0E5jwBQtrFIVK6hPgMuB985U/embed?start=false&loop=false&delayms=3000" frameborder="0" width="480" height="299" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></div>
            <div class="visible-xs"><iframe style="margin-top:20px" src="https://docs.google.com/presentation/d/1nweK60ywx1h-MMg75oo0E5jwBQtrFIVK6hPgMuB985U/embed?start=false&loop=false&delayms=3000" frameborder="0" width="320" height="209" allowfullscreen="true" mozallowfullscreen="true" webkitallowfullscreen="true"></iframe></div>
        </div>
    </div>
</section>
<section  class="container features" id="apps">
    <div class="row">
        <div class="col-lg-12 text-center">
            <div class="navy-line"></div>
            <h1 style="margin-bottom:15px">Applications</h1>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-12 text-center">
            <h2>Coming Soon!</h2>
        </div>
    </div>
</section>
<section class="container features">
    <div class="row">
        <div class="col-lg-12 text-center">
        <div class="navy-line"></div>
            <h1>Deep Video Analytics Processing & Query Language (DVAPQL)</h1>
        </div>
    </div>
    <div class="row">
        <div class="col-md-12 text-center">
            <p>DVAPQL enables processing and querying of visual data in a consistent manner using Deep Video Analytics.
                All functionality of Deep Video Analytics can be expressed in form of DVAPQL scripts which are then launched on distributed workers.
                The data model underlying DVA makes it simple to reason about state of the system.
            </p>
            <h3><a href="https://github.com/VisualDataNetwork" target="_blank">DVAPQL specification & examples of tasks/models/datasets</a></h3>
        </div>
        <div class="col-md-6"><img style="margin:auto" src={% static 'private_static/insp_seed/img/task_model_2.png' %} class="img-responsive" /></div>
        <div class="col-md-6"><img style="margin:auto" src={% static 'private_static/insp_seed/img/data_model_2.png' %} class="img-responsive" /></div>
    </div>
</section>
<section  class="container features" id="installation">
    <div class="row">
        <div class="col-lg-12 text-center">
            <div class="navy-line"></div>
            <h1 style="margin-bottom:15px">Installation</h1>
            <h4>Pre-built docker images for both CPU & GPU versions are <a href="https://hub.docker.com/r/akshayubhat/" target="_blank">available on Docker Hub</a>.</h4>
        </div>
    </div>
    <div class="row">
        <div class="col-md-6">
            <h2>Machines without an Nvidia GPU</h2>
            <p>Deep Video analytics is implemented using Docker and works on Mac, Windows and Linux. Make sure you have latest version of Docker installed.</p>
        </div>
        <div class="col-md-6 ">
<pre class="m-t"  style="padding:0"><code class="bash">git clone https://github.com/AKSHAYUBHAT/DeepVideoAnalytics
cd DeepVideoAnalytics/deploy/demo && docker-compose up
# Above command will automatically pull container images from docker-hub
</code></pre>
        </div>
    </div>
    <div class="row m-t">
        <div class="col-md-6">
            <h2>Machines with Nvidia GPU</h2>
            <p>You need to have latest version of Docker and nvidia-docker installed. The GPU Dockerfile is slightly different from the CPU version dockerfile.</p>
        </div>
        <div class="col-md-6 ">
<pre class="m-t"  style="padding:0"><code class="bash">pip install --upgrade nvidia-docker-compose
git clone https://github.com/AKSHAYUBHAT/DeepVideoAnalytics
cd DeepVideoAnalytics/deploy/single
nvidia-docker-compose -f docker-compose-gpu.yml up
# Above command will automatically pull container images from docker-hub
</code></pre>
        </div>
    </div>
    <div class="row">
        <div class="col-lg-12">
            <div class="alert alert-danger"><h4 class="text-center">Security warning</h4>
            When deploying/running on remote Ubuntu machines on VPS services such as Linode etc. beware of the <a href="https://askubuntu.com/questions/652556/uncomplicated-firewall-ufw-is-not-blocking-anything-when-using-docker" target="_blank">Docker/UFW firewall issues</a>.
            Docker bypasses UFW firewall and opens the port 8000 to internet. You can change the behavior by using a loopback interface (127.0.0.1:8000:80) and then forwarding the port (8000) over SSH tunnel, an example of this is <a href="https://github.com/AKSHAYUBHAT/DeepVideoAnalytics/blob/master/deploy/single/docker-compose-linode.yml" target="_blank">shown here</a>.
            </div>
        </div>
    </div>
</section>
<section  class="container features">
<div class="navy-line"></div>
<div class="row m-t" style="margin-top:40px">
    <div class="col-md-12 text-center">
        <h1>Architecture & Deployment</h1>
        <h4 style="line-height:1.5;margin-top:15px">Deep Video Analytics can be deployed on cloud  in a scalable cost-effective manner to effectively
            leverage spot-pricing, cheap storage without any significant changes to codebase. This website and associated applications are deployed using this method.
        </h4>
    </div>
</div>
</section>
<section class="container features">
    <div class="row">
        <div class="navy-line"></div>
        <div class="col-lg-12 text-center">
            <h1>Paper & Citation</h1>
            <div class="alert alert-warning text-center"><h3>Coming Soon!</h3></div>
        </div>
    </div>
</section>
<section class="container features">
    <div class="row">
        <div class="navy-line"></div>
        <div class="col-lg-12 text-center">
            <h1 >References</h1>
        </div>
        <div class="col-lg-12"><ol>
            <li><p>Schroff, Florian, Dmitry Kalenichenko, and James Philbin. "Facenet: A unified embedding for face recognition and clustering." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.</p></li>
            <li><p>Szegedy, Christian, et al. "Going deeper with convolutions." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2015.</p></li>
            <li><p>Zhang, Kaipeng, et al. "Joint Face Detection and Alignment Using Multitask Cascaded Convolutional Networks." IEEE Signal Processing Letters 23.10 (2016): 1499-1503.</p></li>
            <li><p>Liu, Wei, et al. "SSD: Single shot multibox detector." European Conference on Computer Vision. Springer International Publishing, 2016.</p></li>
            <li><p>Redmon, Joseph, et al. "You only look once: Unified, real-time object detection." Proceedings of the IEEE Conference on Computer Vision and Pattern Recognition. 2016.</p></li>
            <li><p>Krizhevsky, Alex, Ilya Sutskever, and Geoffrey E. Hinton. "Imagenet classification with deep convolutional neural networks." Advances in neural information processing systems. 2012.</p></li>
            <li><p>Johnson, Jeff, Matthijs Douze, and Hervé Jégou. "Billion-scale similarity search with GPUs." arXiv preprint arXiv:1702.08734 (2017).</p></li>
        </ol></div>
    </div>
</section>
<section id="contact" class="contact">
    <div class="container">
        <div class="row m-b-lg">
            <div class="col-lg-12 text-center">
                <div class="navy-line"></div>
                <h1>Issues, Questions & Contact</h1>
                <h4>Please submit all software related bugs and questions using <a href="https://github.com/AKSHAYUBHAT/DeepVideoAnalytics/issues" target="_blank">Github issues</a>, for other questions you can contact me at <a href="mailto:akshayubhat@gmail.com">akshayubhat@gmail.com</a>.</h4>
            </div>
        </div>
        <div class="row">
            <div class="col-lg-8 col-lg-offset-2 text-center m-t-lg m-b-lg">
                <p><strong>&copy; 2017 Akshay Bhat, Cornell University.</strong><br/> All rights reserved.</p>
            </div>
        </div>
    </div>
</section>

<!-- Mainly scripts -->
<script src={% static 'private_static/insp_seed/js/jquery-2.1.1.js' %}></script>
<script src={% static 'private_static/insp_seed/js/bootstrap.min.js' %}></script>
<script src={% static 'private_static/insp_seed/js/plugins/metisMenu/jquery.metisMenu.js' %}></script>
<script src={% static 'private_static/insp_seed/js/plugins/slimscroll/jquery.slimscroll.min.js' %}></script>

<!-- Custom and plugin javascript -->
<script src={% static 'private_static/insp_seed/js/inspinia.js' %}></script>
<script src={% static 'private_static/insp_seed/js/plugins/pace/pace.min.js' %}></script>
<script>
  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
  })(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
  ga('create', 'UA-92887806-1', 'auto');
  ga('send', 'pageview');
</script>
<script>
    $(document).ready(function() {
        hljs.initHighlightingOnLoad();
    });
</script>
</body>
</html>
